
<include file="public/layout" />
<body>
<!--
本「综合演示」包含：自定义头部工具栏、获取表格数据、表格重载、自定义模板、单双行显示、单元格编辑、自定义底部分页栏、表格相关事件与操作、与其他组件的结合等相对常用的功能，以便快速掌握 table 组件的使用。
-->

<div style="padding: 16px;">
    <table class="layui-hide" id="tabledata" lay-filter="tabledata"></table>
    <!--    <script type="text/html" id="test-pagebar">-->
    <!--        <div class="layui-btn-container">-->
    <!--            <button class="layui-btn layui-btn-sm" lay-event="footerDemoBtn1">底部按钮1</button>-->
    <!--            <button class="layui-btn layui-btn-sm" lay-event="footerDemoBtn2">底部按钮2</button>-->
    <!--        </div>-->
    <!--    </script>-->
</div>
<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" onclick="add()">
            添加
        </button>
        <button class="layui-btn layui-btn-sm" onclick="reload()">
            刷新数据
        </button>

        <!--		<button class="layui-btn layui-btn-sm" onclick="location.href='{:url('excel')}'+urlEncode(datawhere)">-->
        <!--			导出数据-->
        <!--		</button>-->

    </div>
</script>
<script type="text/html" id="barDemo">
    <div class="layui-clear-space">
        <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
        <a class="layui-btn layui-btn-xs" lay-event="more">
            更多
            <i class="layui-icon layui-icon-down"></i>
        </a>
    </div>
</script>
<script>
    var tableIns
    var datawhere = {};
    layui.use(function(){
        var table = layui.table;
        var dropdown = layui.dropdown;
        var laydate = layui.laydate;
        var form = layui.form;

        // 创建渲染实例
        tableIns = table.render({
            elem: '#tabledata',
            url:'{:url("materials")}', // 此处为静态模拟数据，实际使用时需换成真实接口
            toolbar: '#toolbarDemo',
            defaultToolbar: ['filter'],
            height: 'full-35', // 最大高度减去其他容器已占有的高度差
            css: [ // 重设当前表格样式
                '.layui-table-tool-temp{padding-right: 145px;}'
            ].join(''),
            cellMinWidth: 80,
            totalRow: false, // 开启合计行
            page: true,
            pagebar: '#test-pagebar', // 分页栏模板
            cols: [[
                {type: 'checkbox', fixed: 'left'},
                {field:'id', fixed: 'left', width:80, title: 'ID', sort: true},
                {field:'title', width:160, title: '标题',totalRowText: ''},
                {field:'media_id', title:'微信媒体ID',  width:150},
                {field:'type', title:'类型',  width:150, templet:function (d) {
                        var html = '';
                        if(d.type=='text'){
                            html = '文本';
                        }else if(d.type=='image'){
                            html = '图片';
                        }else if(d.type=='news'){
                            html = '新闻';
                        }else if(d.type=='video'){
                            html = '视频';
                        }else{
                            html = '未知';
                        }
                        return html;
                    }},
                {field:'update_time', title:'更新时间',  width:200},
                {fixed: 'right', title:'操作',  minWidth: 125, templet:function (d) {
                        var html = '';
                        html += '<a class="layui-btn layui-btn-xs" onclick="edit('+d.id+')">编辑</a>';
                        html += '<a class="layui-btn layui-btn-xs" onclick="del('+d.id+')">删除</a>';
                        return html;
                    }}
            ]],
            error: function(res, msg){
                console.log(res, msg)
            }
        });

        // 触发单元格工具事件
        table.on('tool(tabledata)', function(obj){ // 双击 toolDouble
            var data = obj.data; // 获得当前行数据
            // console.log(obj)
            if(obj.event === 'edit'){
                layer.open({
                    title: '编辑 - id:'+ data.user_id,
                    type: 2,
                    shadeClose: true,
                    area: ['100%','100%'],
                    scrollbar:false,
                    content: '{:url("detail")}/id/'+data.user_id
                });
            } else if(obj.event === 'more'){
                // 更多 - 下拉菜单
                dropdown.render({
                    elem: this, // 触发事件的 DOM 对象
                    show: true, // 外部事件触发即显示
                    data: [
                        {
                            title: '删除',
                            id: 'del'
                        }
                    ],
                    click: function(menudata){
                        if(menudata.id === 'detail'){
                            layer.msg('查看操作，当前行 ID:'+ data.id);
                        } else if(menudata.id === 'del'){
                            layer.confirm('真的删除行 [id: '+ data.id +'] 么', function(index){
                                del(data.id);
                            });
                        }
                    },
                    align: 'right', // 右对齐弹出
                    style: 'box-shadow: 1px 1px 10px rgb(0 0 0 / 12%);' // 设置额外样式
                })
            }
        });

        laydate.render({
            elem: '.demo-table-search-date'
        });
        laydate.render({
            elem: '#laydate-rangeLinked',
            type: 'datetime',
            range: ['#table-search-date-start', '#table-search-date-end'],
            rangeLinked: true // 开启日期范围选择时的区间联动标注模式 ---  2.8+ 新增
        });
        // 搜索提交
        form.on('submit(demo-table-search)', function(data){
            var field = data.field; // 获得表单字段
            datawhere = field;
            // 执行搜索重载
            table.reload('test', {
                page: {
                    curr: 1 // 重新从第 1 页开始
                },
                where: field // 搜索的字段
            });
            //layer.msg('搜索成功<br>此处为静态模拟数据，实际使用时换成真实接口即可');
            return false; // 阻止默认 form 跳转
        });
    });
    function add(){
        layer.open({
            title: '添加',
            type: 2,
            shadeClose: true,
            area: ['100%','100%'],
            scrollbar:false,
            content: '{:url("edit")}'
        });
    }
    function reload(){
        layui.table.reload('tabledata', {
            where: {
                abc: 123,
                test: '新的 test1'
            },
            // scrollPos: 'fixed',  // 保持滚动条位置不变 - v2.7.3 新增
            // height: 2000, // 测试无效参数（即与数据无关的参数设置无效，此处以 height 设置无效为例）
            //url: '404',
            //page: {curr: 1, limit: 30} // 重新指向分页
        }, true);
    }
    function del(id) {
        if (id) {
            var ids = [id];
        } else {
            var checkStatus = layui.table.checkStatus('test');
            var data = checkStatus.data;
            var ids = [];
            $.each(data, function (index, value) {
                //goods_ids.append(value.goods_id);
                ids.push(value.id);
            });
        }
        layer.confirm('确定要删除选择的数据' + ids + '吗？', function (index) {
            $.ajax({
                type: "POST",
                url: "{:url('del')}",
                data: {ids: ids},
                success: function (res) {
                    console.log(res);
                    if (res.status) {
                        layer.msg('提交成功');
                    } else {
                        layer.msg(res.msg);
                    }
                    layer.close(index);
                    tableIns.reload()
                }
            });
            layer.close(index);
            // 向服务端发送删除指令
        });

    }
    function edit(id){
        layer.open({
            title: '编辑 - id:'+ id,
            type: 2,
            shadeClose: true,
            area: ['100%','100%'],
            scrollbar:false,
            content: '{:url("edit")}/id/'+id
        });
    }
</script>
</body>
</html>